rework sections on refinement, including rules about type constraints
spec new restriction on enumerated types