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 (2142, 2141)

Query time 0.00093

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "38.25"
    },
    "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": 11,
          "rows_produced_per_join": 11,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "3.22",
            "eval_cost": "2.20",
            "prefix_cost": "5.42",
            "data_read_per_join": "176"
          },
          "used_columns": [
            "product_id",
            "group_id"
          ],
          "attached_condition": "(`webmarco`.`gp`.`group_id` in (2142,2141))"
        }
      },
      {
        "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": 15,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "11.01",
            "eval_cost": "3.12",
            "prefix_cost": "19.54",
            "data_read_per_join": "1K"
          },
          "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": 15,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "15.59",
            "eval_cost": "3.12",
            "prefix_cost": "38.25",
            "data_read_per_join": "12K"
          },
          "used_columns": [
            "feature_id",
            "product_id",
            "variant_id",
            "lang_code"
          ]
        }
      }
    ]
  }
}

Result

feature_id product_id variant_id group_id
548 152087 1362 2141
549 152087 1380 2141
548 152088 1362 2141
549 152088 1516 2141
548 152089 60012 2141
549 152089 1516 2141
548 152090 60011 2141
549 152090 1199 2141
548 152091 60012 2141
549 152091 1199 2141
548 152092 60011 2141
549 152092 1380 2141
548 152093 1362 2142
549 152093 1369 2142
548 152094 60012 2142
549 152094 1369 2142
548 152095 60012 2142
549 152095 7396 2142
548 152096 60013 2142
549 152096 7396 2142
548 152097 60014 2142
549 152097 7396 2142