added move ctor and operator= for enum