from JLS
Nested enum types are implicitly static. It is permissible to
explicitly declare a nested enum type to be static.
This implies that it is impossible to define a local (§14.3) enum, or
to define an enum in an inner class (§8.1.3).
Also, they are implicitly final, generally. It's general pattern to have enums as part of class as usually they behave as a constant.
An enum type is implicitly final unless it contains at least one enum constant that has a class body.