Jak zaimplementować enum z generycznymi?

Mam taki ogólny interfejs:

interface A<T> {
    T getValue();
}

Ten interfejs ma ograniczone instancje, dlatego najlepiej byłoby je zaimplementować jako wartości wyliczeniowe. Problem polega na tym, że te przypadki mają inny typ wartości, więc spróbowałem zastosować następujące podejście, ale nie kompiluje się:

public enum B implements A {
    A1<String> {
        @Override
        public String getValue() {
            return "value";
        }
    },
    A2<Integer> {
        @Override
        public Integer getValue() {
            return 0;
        }
    };
}

Masz jakiś pomysł na ten temat?

questionAnswers(3)

yourAnswerToTheQuestion