I totally agree. If we were going to REALLY go generic, then we should have bite the bullet and made all of the changes, especially so we didn't have runtime erasure.
As someone said, all you need to do is look at the JavaDoc and see something like:
public abstract class Enum<E extends Enum<E>>
Greeeeat. Explain that to the average Java Joe.
We get compile time checking, and we make everything thrice as complicated in the mix. Is that good? Seeing Map<String> looks good and all, and then you get into writing generic code and you scream.