Тогда сделайте так, чтобы выводило 1 для целочисленных + sizeof(T) <= 4 и 2 для остальных целочисленных
Да боже ты что тупой? Это value level computation, это всё на изи делается . Концепты же предполагают type level вычисления.
Что-то типа
template <Concet1 T, Concept2 U> GenericType ...;
GenericType<_, _> typeFactory (...)