BUG: repr of Categorical does not distinguish int and str.
- [x] I have checked that this issue has not already been reported.

- [x] I have confirmed this bug exists on the latest version of pandas.

- [x] (optional) I have confirmed this bug exists on the master branch of pandas.

---

**Note**: Please read [this guide](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) detailing how to provide the necessary information for us to reproduce your bug.

#### Code Sample, a copy-pastable example

```python
>>> pd.Categorical([1, "2", 3, 4])
[1, 2, 3, 4]
Categories (4, object): [1, 3, 4, 2]
```

#### Problem description

does not show the string elements quoted. This is inconsistent with numpy.

```python
>>> np.array([1, "2", 3, 4], dtype="object")
array([1, '2', 3, 4], dtype=object)
```
#### Expected Output

```python
>>> pd.Categorical([1, "2", 3, 4])
[1, '2', 3, 4]
Categories (4, object): [1, 3, 4, '2']
```

#### Output of ``pd.show_versions()``

<details>

[paste the output of ``pd.show_versions()`` here leaving a blank line after the details tag]

</details>
