How can I make different "firing modes" for a weapon?

Well you could get the Actor’s rotation using ‘Get Actor rotation’. And use that to identify the firing mode. I am guessing that your game is a top-down one (or atleast isometric). In that case you could break the rotation and use the Yaw component to determine the firing mode. (ie Yaw between 0 to 90 FirinMode1, Yaw between 90 to 180 FiringMode2 and so on).

Another option would be to use an integer variable called ActiveFiringMode. Simply cycle through it within your Event graph for Rotate Right and Rotate Left. ie You already have the event graph rotating the character on key-presses; you simply change the value fo this variable too along with it. For instance lets assume that ActiveFiringMode can take one of (0,1,2,3) as its values. When character is at 0 degrees, you have firing mode = 0. So in the event graph for rotating clockwise you do

ActiveFiringMode = (ActiveFiringMode+1)%4

in rotate anti-clockwise

ActiveFiringMode = (4+ActiveFiringMode-1)%4

Then within the event graph for Fire, you swicth between firing modes based on the value of ActiveFiringMode.

PS: ‘%’ is the modulus operator