Short answer: because a type parameter in Java is something just used by the compiler to grant type safety.
At runtime, type information about generic types is discarded because of type erasure but instanceof is a runtime check that needs a concrete type (not a type variable) to work.