The possible performance advantage of std::unordered_map comes at a cost, most notably memory. Additionally, hash maps require an operator== and a hash function, of which especially the latter isn't necessarily available. Keep in mind that the Identifier template parameter is not constrained to enums.
Since ResourceHolder::get() is only called a few times at initialization, the access time is irrelevant in relation to other parts of the application. On the other hand, we don't waste memory for an advantage that we can't exploit.