rework how enums are done, tag 3.9.1