while i think ENUM data types would be a great addition to construct, they need to be added holistically to the engine not just as function params,
i agree with
dop2000 not being able to use an expression in this case would really limit you, but with that said there might be a middle ground?
enums are really just integers, lets say you were able to define them like you do a variable (global) you could have a new data type for function param called enum (which will really just take any enum type or expression) so instead of typing out a string you could do MyEnum.Choice, and the actual value of this would be the the assigned integer of Choice in the enum. this should still give you scoped intellisense but also allow for expressions based on the enum, and they could be useful outside of function params as well.