Help set up dialogue system via macros

In my game character should be ably to use some screens on the level to make plot-important dialogue tree chat conversations. I think I envisioned useful enough chat system that will use macros-based event flow from pressing answer buttons on the screen (The screen is a world-placed widget). At least it functions like I want it to.
So I here come to a conundrum. With this setup, I cannot manage to create true branching dialogue:

System works quite simple: each macro adds a message on screen, and it also can branch to trigger some effect that should accompany that message. usually, a set of answers. Those answers are buttons in UMG, which can be pressed. That sends their name var, used to pull the actual text of the button from the string table, to a generic “got response” custom event, which then funnels call towards appropriate custom event of the chat system, which continues the conversation.

As you can see, it have potential to become really ugly really fast. as if that was not enough, I need to reprint the name of the phrase into switch node, which raises potential for mistakes. Ideally the graph should continue further simply out of the appropriate DisplayResponse macros.
but I don’t know how to solve it via macros, since the entire thing must wait for the player’s response before continuing on chosen path, and I don’t know how to relay button press event from UMG directly into a specific instance of a macros. Any suggestions please?