return constraints and indices as const reference
rename enum classes