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 = 417 
WHERE 
  cscart_products_categories.product_id IN (
    1055, 1056, 1057, 1058, 1050, 1051, 1052, 
    1049, 1067, 1033, 1034, 1037, 1035, 
    1036, 1038, 1032, 1062, 1061, 1060, 
    1063, 1059, 1064, 1066, 1040, 1072, 
    1054, 1053, 1070, 1044, 1039, 1071, 
    1041, 1042, 1065, 1043, 1047, 1048, 
    1069, 1031, 1046, 1045, 1068
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00127

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "110.95"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "3.12"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 125,
            "rows_produced_per_join": 5,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "29.49",
              "eval_cost": "1.00",
              "prefix_cost": "30.49",
              "data_read_per_join": "20K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`cscart`.`cscart_categories`.`storefront_id` in (0,1)) and ((`cscart`.`cscart_categories`.`usergroup_ids` = '') or find_in_set(0,`cscart`.`cscart_categories`.`usergroup_ids`) or find_in_set(1,`cscart`.`cscart_categories`.`usergroup_ids`)) and (`cscart`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "cscart.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 12,
            "rows_produced_per_join": 3,
            "filtered": "5.19",
            "index_condition": "(`cscart`.`cscart_products_categories`.`product_id` in (1055,1056,1057,1058,1050,1051,1052,1049,1067,1033,1034,1037,1035,1036,1038,1032,1062,1061,1060,1063,1059,1064,1066,1040,1072,1054,1053,1070,1044,1039,1071,1041,1042,1065,1043,1047,1048,1069,1031,1046,1045,1068))",
            "cost_info": {
              "read_cost": "61.60",
              "eval_cost": "0.62",
              "prefix_cost": "104.09",
              "data_read_per_join": "49"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "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",
              "cscart.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 3,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "3.12",
              "eval_cost": "0.62",
              "prefix_cost": "107.83",
              "data_read_per_join": "49"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
1031 418M
1032 419M
1033 419M
1034 419M
1035 419M
1036 419M
1037 419M
1038 419M
1039 420M
1040 421M
1041 422M
1042 422M
1043 423M
1044 424M
1045 425M
1046 425M
1047 426M
1048 426M
1049 429M
1050 429M
1051 429M
1052 429M
1053 430M
1054 431M
1055 432M
1056 433M
1057 434M
1058 434M
1059 419M
1060 419M
1061 419M
1062 419M
1063 419M
1064 419M
1065 422M
1066 419M
1067 435M
1068 418M
1069 426M
1070 430M
1071 420M
1072 421M