Database
[{type:"Dog"},{type:"Parrot"},{type:"Other"},{type:"Cat"}]
Query
db.collection.aggregate([{$addFields:{sortField:{$switch:{branches:[{case:{$eq:["$type","Parrot"]},then:0},{case:{$eq:["$type","Cat"]},then:1},{case:{$eq:["$type","Dog"]},then:2},],default:3}}}},{$sort:{sortField:1}}])