CLN: push key coercion to the indexes with Index._convert_list_indexer
CLN: push key coercion to the indexes themselves to simplify a bit

makes us a tiny bit more DRY. # [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/15678?src=pr&el=h1) Report
> Merging [#15678](https://codecov.io/gh/pandas-dev/pandas/pull/15678?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/32df1e6ae452f7ddd31dc41fa613992493eb51c4?src=pr&el=desc) will **decrease** coverage by `0.02%`.
> The diff coverage is `92.1%`.


```diff
@@            Coverage Diff             @@
##           master   #15678      +/-   ##
==========================================
- Coverage   91.03%   91.01%   -0.03%     
==========================================
  Files         143      143              
  Lines       49380    49386       +6     
==========================================
- Hits        44953    44948       -5     
- Misses       4427     4438      +11
```


| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/15678?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/indexes/base.py](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?src=pr&el=tree#diff-cGFuZGFzL2luZGV4ZXMvYmFzZS5weQ==) | `96.15% <100%> (+0.01%)` | :white_check_mark: |
| [pandas/indexes/numeric.py](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?src=pr&el=tree#diff-cGFuZGFzL2luZGV4ZXMvbnVtZXJpYy5weQ==) | `97.11% <100%> (+0.01%)` | :white_check_mark: |
| [pandas/indexes/category.py](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?src=pr&el=tree#diff-cGFuZGFzL2luZGV4ZXMvY2F0ZWdvcnkucHk=) | `98.28% <85.71%> (-0.31%)` | :x: |
| [pandas/core/indexing.py](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhpbmcucHk=) | `94.08% <88.88%> (-0.13%)` | :x: |
| [pandas/indexes/multi.py](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?src=pr&el=tree#diff-cGFuZGFzL2luZGV4ZXMvbXVsdGkucHk=) | `96.59% <91.66%> (-0.06%)` | :x: |
| [pandas/io/gbq.py](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?src=pr&el=tree#diff-cGFuZGFzL2lvL2dicS5weQ==) | `25% <0%> (-58.34%)` | :x: |
| [pandas/tools/merge.py](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?src=pr&el=tree#diff-cGFuZGFzL3Rvb2xzL21lcmdlLnB5) | `93.61% <0%> (-0.34%)` | :x: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.87% <0%> (-0.1%)` | :x: |
| [pandas/util/testing.py](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?src=pr&el=tree#diff-cGFuZGFzL3V0aWwvdGVzdGluZy5weQ==) | `80.85% <0%> (+0.09%)` | :white_check_mark: |
| [pandas/core/common.py](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvY29tbW9uLnB5) | `91.3% <0%> (+0.33%)` | :white_check_mark: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/15678?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/15678?src=pr&el=footer). Last update [32df1e6...a42ae54](https://codecov.io/gh/pandas-dev/pandas/compare/32df1e6ae452f7ddd31dc41fa613992493eb51c4...a42ae54c60cbcdbae468bcb6b274461ea03ac156?el=footer&src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).