Make sure that you only store the GeoHash and Lat / Lon data in your geofire collection. If you need to store other data, you would store that in another collection with the same key and issue a separate query to get back that data as required.
I use this structure, which seems to work well.
app-id
-> geodata
--> geofire
---> key
----> g: <geohash>
-----> l:
-------> 0: Lat
-------> 1: Lon
--> other
---> key
----> <otherhash object>
When you save data you will separately save the geofire data using:
mDatabase = FirebaseDatabase.getInstance().getReference("geodata");
geoFire = new GeoFire(mDatabase.child("geofire"));
geoFire.setLocation(people.key, new GeoLocation(people.Lat, people.Lon));
Then you would separately save your data in firebase:
mDatabase = FirebaseDatabase.getInstance().getReference("geodata");
mDatabase.child("other").child(people.key).setValue(people);
Hope this helps. :)