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 
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') 
WHERE 
  cscart_products_categories.product_id IN (
    62676, 57923, 57919, 63369, 57930, 57936, 
    57912, 63445, 63383, 62954, 57913, 
    57917, 57924, 63431, 63395, 57934, 
    57915, 57914, 57940, 57946, 63419, 
    63407, 57947, 57916, 57927, 57920, 
    57922, 57918, 57928, 57929, 63684, 
    63457, 57911, 57935, 63443, 63682
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00139

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "63.41"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 68,
            "rows_produced_per_join": 68,
            "filtered": "100.00",
            "index_condition": "(`cscartdb`.`cscart_products_categories`.`product_id` in (62676,57923,57919,63369,57930,57936,57912,63445,63383,62954,57913,57917,57924,63431,63395,57934,57915,57914,57940,57946,63419,63407,57947,57916,57927,57920,57922,57918,57928,57929,63684,63457,57911,57935,63443,63682))",
            "cost_info": {
              "read_cost": "32.81",
              "eval_cost": "6.80",
              "prefix_cost": "39.61",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "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": [
              "cscartdb.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 3,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "17.00",
              "eval_cost": "0.34",
              "prefix_cost": "63.41",
              "data_read_per_join": "11K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`cscartdb`.`cscart_categories`.`storefront_id` in (0,1)) and ((`cscartdb`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`cscartdb`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`cscartdb`.`cscart_categories`.`usergroup_ids`))) and (`cscartdb`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
57911 1419,581M
57912 1438,347M
57913 1437,347M
57914 1419,556M
57915 1437,347M
57916 1421,99M
57917 1421,99M
57918 1419,556M
57919 1437,347M
57920 1438,347M
57922 1438,580M
57923 1438,580M
57924 1437,347M
57927 1419,547M
57928 1438,580M
57929 1419,547M
57930 1419,581M
57934 1421,99M
57935 1419,556M
57936 1437,347M
57940 1437,347M
57946 1421,99M
57947 1421,99M
62676 1419,581M
62954 1421,99M
63369 1420,16M
63383 1420,16M
63395 1420,16M
63407 1420,16M
63419 1420,16M
63431 1420,16M
63443 1420,16M
63445 1422,383M
63457 1420,16M
63682 1419,581M
63684 1439,516M