What's wrong with this enumeration?

Level needs to specify a type for its raw valuesCases can't have custom raw valuesCases have to be written in a single lineThere's no expert case

Yup! Level needs to specify a type. Cases can have custom raw values and don't have to be written in one line. Also, there's no need for an expert case.

Yikes! Level needs to specify a type. Cases can have custom raw values and don't have to be written in one line. Also, there's no need for an expert case.