enum type to implement a singleton and test