スコープを持つ列挙型 - cpprefjp C++日本語リファレンス
C++11から、列挙型としてenum classが利用できる。
スコープを持つ列挙型となり、さらに整数型への暗黙の型変換が行われない。
enum class Color { Red, Green, Blue }; Color value = Color::Red;
スコープがあるので、似たようなenumが複数あったときに間違って違うenumの値を使ってしまうというようなミスを減らすことができる。
C++11が使える環境ならば、enumはこちらを使ったほうがいいだろう。