Personally I would go with Ansible playbook(s) and/or build the tasks in a way they can all be placed in a single workflow but you can defiantly take a look at conditional workflows and see if it fits your needs.
Here is a example to get you started.
if (customOptions.installMySQL == "yes") {
return true;
} else if (customOptions.installMySQL == "no") {
return false;
}
If you go this route I would make sure you map this out ahead of time because it can become a lot to keep track of when you have more than a couple conditionals.
Hope this helps!