JSFiddle - React, Tailwind, and code Playground

JavaScript

function removeLessSpecific(ary) {
        return ary.filter(function(x) {
            return ary.filter(function(y) {
                return y.indexOf(x) >= 0;
            }).length == 1;
        });
    }

    z = removeLessSpecific(["american football","english","british english","football","german"])
    console.log(z) // ["american football","british english","german"]

    
    var keywords = ["Anglo-Saxon English","American English","British English","Canadian English","Fast British English","Austrian German","American Football","British English","Fast British English","Blue Jeep","Hot Summer","Mild Summer","Hot Brazilian Summer"];
    var terms = ["english","english","english","english","english","german","football","british english","british english","jeep","summer","summer","summer"];

    mapping = {}

    keywords.forEach(function(kw, i) {
        mapping[kw] = (mapping[kw] || []);
        mapping[kw].push(terms[i]);
    })

    console.log(mapping)

    newTerms = [], newKw = []

    Object.keys(mapping).forEach(function(term) {
        var kwords = mapping[term];
        removeLessSpecific(kwords).forEach(function(kw) {
            newTerms.push(term);
            newKw.push(kw);
        })
    })

    console.log(newTerms)
    console.log(newKw)