Вы идете неправильным путем: подкласс перечисления будет иметь меньше записей.
В псевдокоде подумайте:
enum Animal { Mosquito, Dog, Cat };
enum Mammal : Animal { Dog, Cat }; // (not valid C#)
Любой метод, который может принять Животное, должен быть в состоянии принять Млекопитающее, но не наоборот. Подклассы предназначены для создания чего-то более конкретного, а не более общего. Вот почему «объект» является корнем иерархии классов. Аналогично, если бы перечисления были наследуемыми, то у гипотетического корня иерархии перечислений были бы все возможные символы.
Но нет, C # / Java не допускают под-перечислений, AFAICT, хотя иногда это было бы действительно полезно. Вероятно, потому, что они решили реализовать Enums в виде целых (например, C) вместо интернированных символов (например, Lisp). (Выше, что представляет (Животное) 1, и что представляет (Млекопитающее) 1, и имеют ли они одинаковое значение?)
Вы могли бы написать свой собственный подобный enum класс (с другим именем), который предоставил бы это, все же. С атрибутами C # это может выглядеть даже неплохо.