template enum
clean