TYP: Annotate groupby/ops.py
Adding a few type annotations to this file. I think the `values` arguments here should be `ndarrays` but am not positive.
Hello @dsaxton! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:





There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2020-04-26 21:53:19 UTC merge master LGTM.  @simonjayhawkins are we at a point where mypy would tell us if anything here were incorrect? > LGTM. @simonjayhawkins are we at a point where mypy would tell us if anything here were incorrect?

using the word 'incorrect' I think would only apply if we have 100% static typing. I don't think we  have an appetite for that (achieving consensus in the pandas team). By 100% static typing, I mean 0% dynamic types. That means nothing resolves to Any. That includes all imports and cython code. It also includes code patterns that create classes, methods and attributes etc dynamically. We have alot of dynamic code.

Mypy tells us if the types added here are 'consistent' with the other types already added. The more types added and the more refined the types the better the 'correctness'. Again, there does not seem to be an appetite for some patterns that refine types or workflows that expedite the addition of types.

IMO with typing, 'Job done is better than perfect'. Simply put, the more types added overall, the more confidence we can get for refactoring, enhancement PRs etc.

so PRs that add types, keep mypy green and are not obviously wrong get a thumbs up from me. 

partial typed function signatures are better than none. unparameterized generics are more refined than Any. If we did want to enforce this we would use `--disallow-incomplete-defs` and `--disallow-any-generics`. Mypy can do this checking so that reviewers don't need to.
  can you merge master, ping on green. > can you merge master, ping on green.

@jreback Merged and green