Despite some opinion-based opinion, the usual exception is when the object is not the expected type ClassCastException, and this approach is pretty widely used in the JDK. You could go better than the JDK and provide a message:
throw new ClassCastException("Object was not of type Bar");
If the object is passed as a parameter, you can use IllegalArgumentException, also with the message:
throw new IllegalArgumentException("myParameter was not of type Bar");