You would need to write your own rotate modal operator first.
In that operator you would check for each key press (key event 1, 2, 3), and if it detects that it can apply the rotation you outlined above (1.5708), and then either: exit the modal operator so that you would need to press ‘R’ then a number to enter a second rotation, or stay in the loop allowing the user to continue rotating with 1, 2, 3, but necessitating an ‘exit’ key, like ‘ESC’.
Then, you would unbind ‘R’ from Blender’s rotate and re-bind it to your own rotate modal operator.
In the Text Editor, check out Templates > Python > Operator Modal to see an example of how to handle key events and how to enter and exit the modal loop.