def find_groups(search_string, location=None):
    """Return all group objects with a group name containing
        ``search_string``. Search is done from the given ``location``
        if provided.

        :raises: :py:exc:`~silva.core.services.interfaces.MemberLookupError`
        :returns: :py:class: a list of :py:class:`~silva.core.interfaces.auth.IGroup`.
        """
