OGLplus defines strongly-typed enumeration types like DataType, ColorBuffer, Capability, and many others, which provide additional type safety and robustness to applications, but require lenghty enumerated value name specification. This may be viewed as a downside. The "smart enumerations" are special types that simplify the usage of enumerations in certain situations without degrading the type safety.
Instead of explicitly specifying the name of the type of the enumeration:
a smart enumeration type can be used like this: