introduction
Enums are part of many major programming languages like C++, Java or Ada (even SQL has an ENUM() type)) and they are used to provide a predefined set of named values.
For a long time, PHP has been missing such an Enum implementation and people started to write their own Enum classes. With the development of the SPL, there has been a major step towards implementing programming features yet missing in PHP (e.g. Exceptions and Iterators), one of those being datatypes.