def factorize(
            self,
            na_sentinel: int = -1,
    ) -> Tuple[np.ndarray, ABCExtensionArray]:
        from pandas.core.algorithms import _factorize_array
        arr, na_value = self._values_for_factorize()
        labels, uniques = _factorize_array(arr, na_sentinel=na_sentinel,
                                           na_value=na_value)
        uniques = self._from_factorized(uniques, self)
        return labels, uniques