SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids, 
  product_position_source.position AS position 
FROM 
  cscart_products_categories 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  LEFT JOIN cscart_products_categories AS product_position_source ON cscart_products_categories.product_id = product_position_source.product_id 
  AND product_position_source.category_id = 7336 
WHERE 
  cscart_products_categories.product_id IN (
    95588, 95589, 95590, 95591, 95629, 95630, 
    95631, 95632, 95633, 95634, 95635, 
    95636, 95637, 95641, 95642, 95643, 
    95644, 95647, 95648, 95649, 95650, 
    95651, 95652, 95655, 95656, 95657, 
    95658, 95659, 95660, 95935
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01575

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "75.89"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 84,
            "rows_produced_per_join": 84,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "8.69",
              "eval_cost": "8.40",
              "prefix_cost": "17.09",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (95588,95589,95590,95591,95629,95630,95631,95632,95633,95634,95635,95636,95637,95641,95642,95643,95644,95647,95648,95649,95650,95651,95652,95655,95656,95657,95658,95659,95660,95935))"
          }
        },
        {
          "table": {
            "table_name": "product_position_source",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "product_id"
            ],
            "key_length": "6",
            "ref": [
              "const",
              "nuie_scalesta_net.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 84,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "21.00",
              "eval_cost": "8.40",
              "prefix_cost": "46.49",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 4,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "21.00",
              "eval_cost": "0.42",
              "prefix_cost": "75.89",
              "data_read_per_join": "10K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
95588 7338,7219M,7313
95589 7219M,7338,7313
95590 7219M,7338,7313
95591 7338,7313,7219M
95629 7219M,7338,7313
95630 7219M,7313,7338
95631 7313,7338,7219M
95632 7313,7338,7219M
95633 7338,7313,7219M
95634 7313,7219M,7338
95635 7219M,7313,7338
95636 7219M,7313,7338
95637 7219M,7313,7338
95641 7313,7338,7219M
95642 7219M,7313,7338
95643 7219M,7313,7338
95644 7313,7219M,7338
95647 7313,7219M,7338
95648 7338,7313,7219M
95649 7338,7219M,7313
95650 7313,7219M,7338
95651 7313,7338,7219M
95652 7313,7219M,7338
95655 7329M,7339
95656 7329M,7339
95657 7339,7329M
95658 7339,7329M
95659 7329M,7339
95660 7329M,7339
95935 7338,7219M,7313