I guess this is a purposefully naive implementation of matching...
Are you planning to define a way to match branches according to defined rules/conventions? Such as <user>/<feature_id>-<text> or <feature_id><.*> etc...?

Maybe it is premature optimization, but I think if we keep VCS-service-specific code separate from team process code (e.g. how we approach branching) it will make the architecture better. In this case, I would rather keep the adaptors to VCS dumb and just tell them to give me a list of branches that match one in a list of regexes or sthg like that.