Alternative implementation for `.where` on EA-backed Indexes
Followup to https://github.com/pandas-dev/pandas/pull/24114.

Right now `Categorical.where` and `IntervalIndex.where` involve converting to objects.

We could use an alternative implementation that copies the underlying array and sets the values. 
https://github.com/pandas-dev/pandas/pull/24114#issuecomment-444571081 should give a rough idea of the kinds of speedups you'd get.