I agree with moving the size of an enum into the top, but I don't think that the label length documentation also should be included in the top section. It seems excessively detailed for that section with its reference to NAMEDATALEN.
-Matthias
Agreed.
Tangentially: It does seem a bit unusual to call the fact that the values both case-sensitive and limited to the length of a system identifier an implementation detail. But if anything the length is more of one than the case-sensitivity. Specifying NAMEDATALEN here seems like it breaks encapsulation, it could refer by comparison to an identifier and only those that care can learn how that length might be changed in a custom build of PostgreSQL.