REF: implement Categorical._validate_listlike
I found it really confusing why we used slightly different dtype-comparisons in a bunch of different places (e.g CategoricalIndex.get_indexer vs CategoricalIndex.get_indexer_non_unique).  AFAICT It's just a matter of optimizations accruing over time without a helper method to keep them in sync. 
i doubt this makes any perf difference, but maybe worth checking. if you can check perf, ping when ready ```
In [3]: dti = pd.date_range("2016-01-01", periods=1000).repeat(2)                                                                                                                 
In [4]: ci = pd.CategoricalIndex(dti)                                                                                                                                              

In [5]: %timeit res = ci.get_indexer_non_unique(dti)                                                                                                                              
8.17 ms ± 96.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)  # <-- master
7.8 ms ± 122 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)  # <-- PR

In [8]: dti2 = dti.copy(deep=True)                                                                                                                                                
In [9]: np.random.shuffle(dti._data._data)                                                                                                                                        
In [10]: ci2 = pd.CategoricalIndex(dti2)                                                                                                                                          

In [12]: %timeit res = ci.get_indexer_non_unique(ci2)                                                                                                                             
4.06 ms ± 78.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)  # <-- master
991 µs ± 3.31 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)  # <-- PR
``` thanks @jbrockmendel 