javaのEnum構文はタイプセーフEnumパターンとしてコンパイルされる

https://qiita.com/Takmiy/items/5e47d87b5085de1ac37f
本質的にはint定数をまとめて宣言するだけでしかないC#等のenumと違い、javaenumはタイプセーフenumパターンである。
そのため、enumで定義していない値を無理やり入れることはできないし、enumの値に任意のメソッドをもたせることができる。