AnEnum oEnum; // Assignments are type safe oEnum = AnEnum::red; oEnum = AnEnum::green; // Switch statements use ordinal values switch (oEnum.value ()) { case AnEnum::_red: ...; case AnEmum::_green: ...; }