BUG: SeriesGroupBy.value_counts() raises on an empty Series
- [X] I have searched the [[pandas] tag](https://stackoverflow.com/questions/tagged/pandas) on StackOverflow for similar questions.

- [ ] I have asked my usage related question on [StackOverflow](https://stackoverflow.com).

---

#### Question about pandas

Using the `value_counts` method after grouping an empty DataFrame and selecting a column raises an error.

Example:

```python
>>> pd.DataFrame(columns=["A", "B"]).groupby("A")["B"].value_counts()
```

Error:

```python-traceback
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/Users/username/.virtualenvs/my_project/lib/python3.8/site-packages/pandas/core/groupby/generic.py", line 736, in value_counts
    codes = [rep(level_codes) for level_codes in codes] + [llab(lab, inc)]
  File "/Users/username/.virtualenvs/my_project/lib/python3.8/site-packages/pandas/core/groupby/generic.py", line 705, in <lambda>
    llab = lambda lab, inc: lab[inc]
IndexError: boolean index did not match indexed array along dimension 0; dimension is 0 but corresponding boolean dimension is 1
```

Instead, I would expect that `value_counts` returns an empty series, like when using the `max` method, like the following,

```python
>>> pd.DataFrame(columns=["A", "B"]).groupby("A")["B"].max()
```

which gives this result:

```
Series([], Name: B, dtype: object)
```

If it is normal to have an error when using `value_counts` for an empty `SeriesGroupBy`, why is it so?

Thank you.
