change DetailColumn.enum from a dict to a list

- migrate lazily in wrap classmethod
- change all references to it
- change js to consume and produce the new format