Typesafe Enum
Represent type-safe enumerations in Java and C++.
See also
References