Нельзя использовать несколько границ, если одна из границ является параметром типа.
Кроме того, при использовании нескольких границ первый может быть классом или интерфейсом, а остальные могут быть только интерфейсами. Это связано с тем, что Java не поддерживает множественное наследование, поэтому перечисление нескольких классов аналогично перечислению только самого дальнего подкласса.
Чтобы все заработало, вам нужно написать код, подобный следующему:
public class TestGeneric<TAnimal extends Animal, TMammal extend Mammal & Animal> { }
Или потому, что Млекопитающее в любом случае реализует интерфейс Animal :
public class TestGeneric<TAnimal extends Animal, TMammal extends Mammal> { }