The Service-Oriented Computing (SOC) paradigm envisions the composition of loosely coupled services to build complex applications. Most current selection algorithms assume that all services assigned to a certain task provide exactly the same functionality. However, in realistic settings larger groups of services exist that share the same purpose, yet provide a slightly different interface. Incorporating these services increases the number of potential solutions, but also includes functional invalid configurations, resulting in a sparse solution space. As a consequence, applying naïve heuristic algorithms leads to poor results by reason of the increased probability of local optima. For that purpose, we propose a functionality clustering in order to leverage background knowledge on the compatibility of the services. This enables heuristic algorithms to discover valid workflow configurations in shorter time. We integrate our approach into a genetic algorithm by performing repair operations on invalid genomes. In the evaluation we compare our approach with related heuristic algorithms that use the same guided target function but pick services in a random manner.