Hey hi there,
Am glad you took time to take a look at this. However, enter event is not triggered if the view is cached. As I mentioned the controller is not called at all so none of the events get fired.
Finally ended up using state transition mentioned in this link - https://github.com/angular-ui/ui-router/issues/582.
$state.transitionTo($state.current, $stateParams, { reload: true, inherit: false, notify: true });
This did the trick for me and reloaded my view and the controller.