Different goals in one action server
I have a bit of an issue trying to figure out the best way to implement an action server with different goals. Is it an acceptable practice to use enums if goals are very different from each other or do I need to have multiple action servers? Here is a bit of a background:
I have multiple nodes that need to control arms. I have one node that controls robot arms and accepts float values to specify goals, each arm can only go up and down, left and right. For my application, I only have a few routines that arms need to follow, for example picking an object up. Those routines always send the same values to the arm controlling node. To avoid repeating sending the same set of instructions from every node when I need to pick an object up, I want to create another node that will have those routines implemented, so the other nodes only need to specify which routine they need and let the new node take care of everything else.
From what I understand (I don't have any experience with action servers, so please correct me if I am wrong), I should create an Action Server to move the arms, and the rest of the nodes will be sending goals to it. My concern is, pickup routine will be very different from drop off. I know I can use enums for different routines, and then have a switch statement in the Execute Callback, which should work fine. Are there any issues with using that approach?