def identify_exclusive_feature_groups(entries):
    """
    Identifies exclusive FASM features and creates groups of them. Returns a
    dict indexed by group names containing sets of the features.
    """

    groups = {}

    # Scan entries, form groups
    for entry in entries:

        # Get the feature and split it into fields
        feature = entry.signature
        parts = feature.split(".")

        # Check if this feature may be a part of a group.
        # This is EOS-S3 specific. Each routing mux is encoded as one-hot.
        # A mux feature has "I_pg<n>" suffix.
        if parts[1] == "ROUTING" and parts[-1].startswith("I_pg"):

            # Create a group
            group = ".".join(parts[:-1])
            if group not in groups:
                groups[group] = set()

            # Add the feature to the group
            groups[group].add(feature)

    return groups