Groupby getitem works with all index types
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

Previously `df.groupby(0)[df.columns]` would fail if all column names
were integers (meaning `df.columns` was an `Int64Index`). This was
because the implementation of `__getitem__` in `SelectionMixin` was
checking for `ABCIndex` when it probably should have checked for
`ABCIndexClass`.

## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13731?src=pr) is 84.56% (diff: 100%)

> Merging [#13731](https://codecov.io/gh/pydata/pandas/pull/13731?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will increase coverage by **<.01%**

``` diff
@@             master     #13731   diff @@
==========================================
  Files           141        141          
  Lines         51195      51196     +1   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          43295      43296     +1   
  Misses         7900       7900          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [e357ea1...b901322](https://codecov.io/gh/pydata/pandas/compare/e357ea1105723781032f0ec509236b69325633f4...b901322a24138ee7f5a847269fdf394bbd1628b9?src=pr)
 Looks good to me, some minor comments
 yep lgtm.
 Thanks, fixed.
 lgtm
 @jcrist Thanks!
