
You could use a group layer with the following setup:

The group layer is masked as invisible, and the eye white layer is added to the mask. All other layers are just masked. The switched layers are interpolated and each contain four layers with the points slightly rearranged for smooth switch interpolation.
Here are the layers in exploded view:

The layers in the top of the screenshot are the poses of the outlines of the white of the eye only, and in the bottom are the poses of the white the eye, with outline and fill. In the center there is the pupil and highlight.
If you didn't use the outline on top of the pupil, you would get something like this when the eye closes:

The mask at the bottom of the group layer will only hide what is outside the mask, but if lighter parts are present in the layers above, those will be visible. To correct this, the outline of the eye is the top layer in the group, and will cover any lighter parts:

Of course, now you have to switch two switch layers, and if you have many keys, it can be a bit of a hassle to do it all correctly. Therefore, I have written a master-slave switch layer synchronization (abbreviated as switch sync) solution.
The solution consists of two layer scripts, which should be embedded in the switch layers. The zip archive contains an explanation and a file to test the layer scripts. The scripts are for editing purposes only. You should install them, run your animation, and uninstall them. They are simply meant to copy the keys in the Switch Layer animation channel from one switch layer to another. If you leave them in, synchronization errors will occur between the switch layers, because the display sometimes lags behind to the action of the scripts.
So, only to be used for editing your files, not to render your animation.

sync_switch.zip
I hope this helps.