Вы не можете сделать это, так как язык не позволяет вам. И по веской логической причине: создание подкласса enum будет иметь смысл, только если вы сможете удалить некоторые значения перечисления из подкласса, а не добавить новые. В противном случае вы нарушите принцип замены Лискова .
Вкратце это говорит о том, что каждый экземпляр подкласса должен быть приемлемым, когда ожидается экземпляр суперкласса. Если вы добавляете нового члена перечисления в подкласс перечисления, это явно не может быть принято кем-то, знающим только суперперечисление.
Для получения более подробной информации и возможных альтернатив см. мой предыдущий ответ .
В вашем конкретном случае предложение @ Джейсона может предложить хорошее решение (+1 для него: -)
Обновление до комментария @ OrangeDog
Хороший вопрос, я был немного неаккуратен выше :-) В плане реализации вы правы. Однако с логической точки зрения тип перечисления полностью описывается набором его допустимых значений. И вообще, правильный подкласс - это специализация своего суперкласса. Другими словами, набор действительных экземпляров подкласса (всегда должен быть) подмножество набора экземпляров суперкласса. (Каждая собака - животное, но не каждое животное - собака.)