Extracting method from nested enum

You're trying to do inheritance. Rust doesn't have inheritance. You might use traits for this, and implement some Position trait for the objects that will give them distance you can uniformly access.

You will also run into the problem of mutably referencing other entities, which goes against Rust's strictness about references and preference for immutability.

Here's a talk about such game desing, and Rust-friendly alternative of ECS: