Seeing strange behavior from the Enable Input node

This may just be a misunderstanding on my part, but I am having a hard time understand the following behavior from the Enable input node.

In this character blueprint, I am creating events for enabling and disabling input from the player for a multiplayer online game. The DisablePlayerInput is working perfectly for both the server and the clients, however if I do the exact same thing but I use the Enable Input node instead this does not work on the server, which is why I have to create the EnableServerPlayerInput event just to make it work on the server.

The code in the red section is the only thing that works if I want to re-enable the input on the server. So my question is: Why does my EnablePlayerInput only work on clients, while my DisablePlayerInput event works on both? They are very similar functions so why do I have to use “Get player controller” and “get player character” in order to disable input on the server?