I'm the co-founder of Codename One so I'm pretty biased. Notice you also missed J2Obj-c which is an important option. Codename One predated RoboVM by a while and unlike it we have a business model/revenue which makes long term support more likely.
I don't want to spread FUD about MAF/MOE so if I got any facts wrong please correct me as I haven't kept up with everything. AFAIK MAF doesn't have much traction, it used to package an interpreted VM and just provide a bridge to Cordova with a few additional plugins. It seems most of Oracles resources are with JET. Back in the day I found a PDF that indicated that MAF has an annual licensing cost of 50K per application, I can't find it now so I don't know if it's applicable but I suggest checking this thoroughly.
MoE isn't a product. It's been a "technology preview" for years and it won't leave that status. Intel stopped all mobile development a few years ago and fired everyone involved, the only reason this wasn't shut down is due to the fact that it isn't a product. It was open sourced but that's just like the open sourcing RoboVM. Both products are over-engineered solutions whose open source code is hard for 3rd party maintenance. It's a full time job to keep up with Apple. Our VM took a far more conservative approach which makes it both easier to maintain/keep up and makes it more efficient. E.g. a hello world in MoE would be over 50mb whereas we support features such as bitcode and can build a release version in under 5mb of size.
Furthermore MOE isn't WORA (Write Once Run Anywhere) which brings me to J2Obj-C which isn't WORA either. If you will sacrifice portability and buy a Mac might as well use J2Obj-C which is more forward compatible than MOE and smaller. It has simpler code and architecture so it won't break if maintenance stops.