Refactor to explicitly declare possible next nodes

It's hard to convert this flow to use next_node_if due to the way that
the next node is computed from the list of benefits selected.