design patterns: How to initialize a class that initialized a subset of classes?

I have the following class that initialized two classes inside it:

class Manager:
def __init__(self, tools=None):
    self._worker_map = {
        'Joe': Worker1(tools=tools),
        'Ben': Worker2(tools=tools)
    self.worker_names = self._worker_map.keys()

def do_work(self, worker_names=None):
    if worker_names is None:
        worker_names = self.worker_names
    return {worker_name: self._worker_map(worker_name).do_work()
            for worker_name in self.worker_names}

Is it possible somehow to pass the name of the classes I want to initialize, so that everything is not initialized?

For example Manager(('Joe')) will initialize only one class with a name & # 39; Joe & # 39 ;.