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 = 7318 
WHERE 
  cscart_products_categories.product_id IN (
    90150, 90165, 84073, 84081, 90149, 90164, 
    90142, 90157, 90148, 90163, 84072, 
    84080, 90147, 90162, 84071, 84079, 
    84095, 90141, 90156, 90297, 90304, 
    84057, 84065, 84070, 84078, 85973, 
    84069, 84077, 90140, 90155, 84068, 
    84076, 84094, 90139, 90154, 90296, 
    90303, 83944, 84088, 90203, 90214, 
    84093, 85972, 90153, 90168, 90285, 
    90293, 90295
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01899

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "86.69"
    },
    "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": 96,
            "rows_produced_per_join": 96,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "9.89",
              "eval_cost": "9.60",
              "prefix_cost": "19.49",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (90150,90165,84073,84081,90149,90164,90142,90157,90148,90163,84072,84080,90147,90162,84071,84079,84095,90141,90156,90297,90304,84057,84065,84070,84078,85973,84069,84077,90140,90155,84068,84076,84094,90139,90154,90296,90303,83944,84088,90203,90214,84093,85972,90153,90168,90285,90293,90295))"
          }
        },
        {
          "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": 96,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "24.00",
              "eval_cost": "9.60",
              "prefix_cost": "53.09",
              "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": "24.00",
              "eval_cost": "0.48",
              "prefix_cost": "86.69",
              "data_read_per_join": "12K"
            },
            "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
83944 7193M,7319
84057 7193M,7319
84065 7319,7193M
84068 7319,7193M
84069 7193M,7319
84070 7193M,7319
84071 7319,7193M
84072 7319,7193M
84073 7319,7193M
84076 7319,7193M
84077 7319,7193M
84078 7319,7193M
84079 7193M,7319
84080 7193M,7319
84081 7193M,7319
84088 7193M,7319
84093 7193M,7319
84094 7193M,7319
84095 7193M,7319
85972 7193M,7319
85973 7193M,7319
90139 7319,7193M
90140 7319,7193M
90141 7319,7193M
90142 7319,7193M
90147 7319,7193M
90148 7319,7193M
90149 7193M,7319
90150 7193M,7319
90153 7319,7193M
90154 7319,7193M
90155 7319,7193M
90156 7319,7193M
90157 7319,7193M
90162 7319,7193M
90163 7319,7193M
90164 7319,7193M
90165 7193M,7319
90168 7193M,7319
90203 7193M,7319
90214 7193M,7319
90285 7193M,7319
90293 7319,7193M
90295 7193M,7319
90296 7193M,7319
90297 7319,7193M
90303 7319,7193M
90304 7193M,7319