In Federation 2, it appears that the only recognized ‘type’ is the value type, whereas in Federation 1, types such as Scalars, Objects, Interfaces, Inputs, Enums, and Unions were also considered value types.
Value types are just a name of a concept of sharing same types across different subgraphs. Federation 2 supports sharing of all GraphQL types. It expands on Federation 1 validation rules and relaxes some of the constraints there.
I noticed that in Federation 2, when sharing a type across multiple subgraphs, you must use the @shareable directive. However, this is not required for other value types such as union, enum, or input. In Federation 1, there is no distinction between value types.