abstract method in enum