When designing the public interface of our classes and methods, we should try to avoid it’s misuse. Creating methods with honest signatures is a good technique to hide implementation details, reduce bugs and improve code readability.

When designing the public interface of our classes and methods, we should try to avoid it’s misuse. Creating methods with honest signatures is a good technique to hide implementation details, reduce bugs and improve code readability.
Encapsulation is a fundamental tenant of good software design. Wrapping an enum into an object and providing cohesive behaviour to it would lead you down the path of well encapsulated and designed applications.