SELECT 
  pfv.feature_id, 
  pfv.product_id, 
  pfv.variant_id, 
  gp.group_id 
FROM 
  cscart_product_features_values AS pfv 
  INNER JOIN cscart_product_variation_group_products AS gp ON pfv.product_id = gp.product_id 
  INNER JOIN cscart_product_variation_group_features AS gpf ON gpf.group_id = gp.group_id 
  AND gpf.feature_id = pfv.feature_id 
WHERE 
  pfv.lang_code = 'en' 
  AND gp.group_id IN (2138, 10707, 2140, 7602)

Query time 0.00095

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "61.95"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "gp",
          "access_type": "range",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "idx_group_id",
          "used_key_parts": [
            "group_id"
          ],
          "key_length": "3",
          "rows_examined_per_scan": 18,
          "rows_produced_per_join": 18,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "4.63",
            "eval_cost": "3.60",
            "prefix_cost": "8.23",
            "data_read_per_join": "288"
          },
          "used_columns": [
            "product_id",
            "group_id"
          ],
          "attached_condition": "(`webmarco`.`gp`.`group_id` in (2138,10707,2140,7602))"
        }
      },
      {
        "table": {
          "table_name": "gpf",
          "access_type": "ref",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "idx_group_id",
          "used_key_parts": [
            "group_id"
          ],
          "key_length": "3",
          "ref": [
            "webmarco.gp.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 25,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "18.01",
            "eval_cost": "5.10",
            "prefix_cost": "31.34",
            "data_read_per_join": "2K"
          },
          "used_columns": [
            "feature_id",
            "group_id"
          ]
        }
      },
      {
        "table": {
          "table_name": "pfv",
          "access_type": "ref",
          "possible_keys": [
            "PRIMARY",
            "fl",
            "lang_code",
            "product_id",
            "fpl",
            "idx_product_feature_variant_id"
          ],
          "key": "fpl",
          "used_key_parts": [
            "feature_id",
            "product_id",
            "lang_code"
          ],
          "key_length": "12",
          "ref": [
            "webmarco.gpf.feature_id",
            "webmarco.gp.product_id",
            "const"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 25,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "25.51",
            "eval_cost": "5.10",
            "prefix_cost": "61.95",
            "data_read_per_join": "19K"
          },
          "used_columns": [
            "feature_id",
            "product_id",
            "variant_id",
            "lang_code"
          ]
        }
      }
    ]
  }
}

Result

feature_id product_id variant_id group_id
548 152072 8172 2138
549 152072 1199 2138
548 152073 10781 2138
549 152073 1199 2138
548 152074 8173 2138
549 152074 1199 2138
548 152075 8220 2138
549 152075 1199 2138
548 152081 1193 2140
549 152081 1199 2140
548 152082 1195 2140
549 152082 1199 2140
548 152083 1194 2140
549 152083 1199 2140
548 152084 1197 2140
549 152084 1199 2140
860 359758 64477 7602
626 431802 7162 10707
626 431803 7168 10707
626 431804 7169 10707
626 431805 7170 10707
626 431806 7163 10707
626 431807 7164 10707
626 431808 7165 10707
626 431809 7166 10707
626 431810 7167 10707