The C/C++ enumeration syntax exists to support the use of human readable character names to support a specific list of available values for the specified variable.
This is enabled in C and C++ as a set of named integer constants.
This can be expressed as #define preprocessor directives or as a C or C++ enumerated type "enum".
Both C and C++ use the same enumeration syntax.
We also give an example of a C++ enumeration class which extends the capability of the C enumeration.

Enumerations are represented as incrementing integers beginning with the value 0.
One can specify the integer representation of the enumeration by specifying the integer from which the index begins incrementing.
More than one enumeration can be represented by the same integer.

Fifth edition. The first edition of this book (and Professor Sheely at UTA) taught me to program C++. It is complete and covers all the nuances of the C++ language.
It also has good code examples. Good for both learning and reference.