[enum] implement several methods