Я согласен с Visage. Генерики предназначены для проверки времени компиляции, а не для динамического набора времени выполнения. Похоже на то, что вам нужно, это просто фабричная модель. Но если ваше «делать это» не является инстанцированием, то, скорее всего, будет работать простой Enum. Как и то, что сказал Майкл, если у вас есть немного более конкретный пример, вы получите лучшие ответы.