apply code review patch by [wasman]
fix after code review:
- add and use static import EnumOperationType.
fix after code review:
- in interface all methods are public by default.
minimal cleaning and formatting code