The format (which includes
any trailing spaces) can be specified by an optional field width parameter.
The default field width and letter case are defined by the following
variables that are declared in the generic package Enumeration_IO:

After skipping any leading blanks, line terminators,
or page terminators, reads an identifier according to the syntax of this
lexical element (lower and upper case being considered equivalent), or
a character literal according to the syntax of this lexical element (including
the apostrophes). Returns, in the parameter Item, the value of type Enum
that corresponds to the sequence input.

Outputs the value
of the parameter Item as an enumeration literal (either an identifier
or a character literal). The optional parameter Set indicates whether
lower case or upper case is used for identifiers; it has no effect for
character literals. If the sequence of characters produced has fewer
than Width characters, then trailing spaces are finally output to make
up the difference. If Enum is a character type, the sequence of characters
produced is as for Enum'Image(Item), as modified by the Width and Set
parameters.

Reads an enumeration value from the beginning
of the given string, following the same rule as the Get procedure that
reads an enumeration value from a file, but treating the end of the string
as a file terminator. Returns, in the parameter Item, the value of type
Enum that corresponds to the sequence input. Returns in Last the index
value such that From(Last) is the last character read.

Although the specification of the generic package
Enumeration_IO would allow instantiation for an integer type, this is
not the intended purpose of this generic package, and the effect of such
instantiations is not defined by the language.