I think a lot of this talk of compiler implementation details is missing the more fundamental concerns. We haven't even established that we want a feature like this in the language, however easy or hard it might be to implement.
At a language design level, the issue is that if procedural macros have access to type information, that creates a new kind of circular dependency where some types depend on macros depending on other types. The language already has some "design cycles" of this sort, to my knowledge 1) name resolution and macros, see RFC 1560 and 2) compile-time function evaluation (CTFE) in general. Adding another is not out of the question, but it is a very high cost with huge, non-trivial design questions that aren't being discussed here at all (as is the norm with requests for "types in proc macros").
In particular, both of the features I just mentioned involved an awful lot of design headaches over what to do with order dependencies and detecting infinite cycles and the like. The simplest example is probably RFC 1560's "Avoid 'time-travel' ambiguities". The possibility of similar ambiguities at the type level is... well honestly my type fu isn't good enough to judge it, but it feels potentially terrifying, and I'd need an awfully thorough technical argument to convince me we'd managed to make it harmless, like the one in that RFC about iterating to a fixed point of stable resolutions.
And then we have the motivation question. Because CTFE is coming, and CTFE obviously has "access to types" in some of the relevant senses, it's not clear to me that there's anything "types in proc macros" would unlock that macros plus full-blown CTFE wouldn't also be capable of. Or at least, I've yet to see anyone post a concrete use case with an argument that CTFE will never be good enough for it. Note that I'm assuming "full-blown CTFE" would eventually include some compile-time reflection APIs. I think that's more than enough for the
auto_enums case cited in the OP, but I'm not familiar with that crate so if I'm wrong please do explain what's missing.