New edit enum interface and API (closes #4171 #4175)

+ New enum API (closes #4171)
+ New enum IHM (closes #4175)